تاریخچه رمزنگاری
سابقه رمز نمودن اطلاعات به دوران امپراطوری روم بر میگردد، زمانی که ژولیوس سزار پیامی رابرای فرماندهان خود میفرستاد چون به پیام رسان اعتماد نداشت و از این که در راه این پیام به دست دشمن بیافتد هراسان بود، پیام را به نحو زیر تغییر میداد. تمام حروف A را در متن با حرف D جایگزین میکرد و تمام حروف B را در متن به حرف E جایگزین مینمود. در حقیقت تمام حروف را با سومین حرف بعد از آن جایگزین میکرد. بنابراین برای از کد خارجکردن پیام ها کافی بود دریافت کننده جای هر حرف را با سومین حرف بعد از آن در الفباعوض کند. به این الگوریتم Caesar Cipher میگویند.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
This is a test
Wklv lv d whvw
رمزنگاری
رمزنگاری علمی است که با استفاده از ریاضیات دادهها را به صورت رمز درآورده و مجدداً میتواند به حالت عادی برگرداند. این علم امکان ذخیره سازی اطلاعات و همچنین انتقال اطلاعات بر بستری ناامن را محقق میسازد. عمل رمزنگاری با استفاده از الگوریتم های ریاضی صورت میپذیرد. در یک سیستم یک پیام با استفاده از یک کلید رمز می شود. پس از آن پیام رمز شده به گیرنده منتقل می شود و در آن جا با استفاده از یک کلید باز می شود تا پیام اصلی بدست آید.
به بیان دیگر رمزنگاری دانش تغییر دادن متن پیام به کمک یک کلید رمزنگاری و یک الگوریتم رمزنگاری است. به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج متن اصلی از متن رمز شده باشد و شخصی که از یکی یا هر دوی آن ها اطلاعی ندارد، نتواند به محتوای پیام دسترسی پیدا کند. رمزنگاری از طریق پنهان نگاه داشتن الگوریتم رمزنگاری منسوخ است. در روش های جدید رمزنگاری فرض بر آن است که همگان الگوریتم رمزنگاری را می دانند. آنچه پنهان است فقط کلید است.
به کمک رمزنگاری میتوان اطلاعات را به صورتی امن منتقل کرد حتی اگر مسیر انتقال اطلاعات (کانالهای ارتباطی) ناامن باشد. دریافتکننده اطلاعات آنها را از حالت رمز خارج میکند. به این عمل در واقع رمزگشایی (decrypting) گفته میشود .
کلمهCryptography بر گرفته لغات یونانی "kryptos" به مفهوم "محرمانه" و"graphein" به معنای "نوشتن" است. قبل از هر چیز لازم است بین رمز و کد تفاوت قائل شویم. رمز به مفهوم تبدیل کاراکتر به کاراکتر یا بیت به بیت، بدون تغییر محتویات زبان شناختی آن است. در مقابل "کد" تبدیلی است که کلمهای را با یک کلمه یا نماد دیگر جایگزین میکند